package com.xhsj.user.pms.patent.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 专利表
 * </p>
 *
 * @author suxiaolin
 * @since 2020-05-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_pam_patent")
public class Patent extends Model<Patent> {
    @TableField("id")
    private String id;

    /**
     * 内部编号
     */
    @TableField("num")
    private String num;
    /**
     * 专利证书号
     */
    @TableField("patent_num")
    private String patentNum;
    /**
     * 保护类型 0 发明 1 实用新型 2 双申
     */
    @TableField("protect_type")
    private Integer protectType;
    /**
     * 专利名称
     */
    @TableField("name")
    private String name;
    /**
     * 专利申请日
     */
    @TableField("application_time")
    private Date applicationTime;
    /**
     * 专利权人
     */
    @TableField("inventor")
    private String inventor;
    /**
     * 申请号
     */
    @TableField("application_num")
    private String applicationNum;
    /**
     * 申请人id
     */
    @TableField("proposer_id")
    private Long proposerId;
    /**
     * 申请人
     */
    @TableField("full_name")
    private String fullName;

    /**
     * 授权公告日
     */
    @TableField("author_date")
    private Date authorDate;
    /**
     * 授权公告号
     */
    @TableField("author_num")
    private String authorNum;
    /**
     * 专利期届满日
     */
    @TableField("expire_date")
    private Date expireDate;
    /**
     * 授权首次年费年度
     */
    @TableField("author_first_annual_fee_date")
    private Date authorFirstAnnualFeeDate;
    /**
     * 创建人ID
     */
    @TableField("created_by")
    private Long createdBy;
    /**
     * 立案日期 创建交底书时间
     */
    @TableField("created_date")
    private Date createdDate;

    @TableField("update_by")
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;

    @TableField("remarks")
    private String remarks;

    @TableField("del_flag")
    private Integer delFlag;

    @TableField(exist = false)
    private List<PatentFile> patentFileList;// 专利证书列表

    @TableField(exist = false)
    private List<PatentFile> fileList1;// 专利证书列表6

    @TableField(exist = false)
    private List<PatentFile> fileList2;// 专利证书列表7

    @TableField(exist = false)
    private String disclosureId;

    private static final long serialVersionUID = 1L;

}